import os
import subprocess
from PyInstaller import __main__ as pyi_main

if __name__ == '__main__':
    try:
        # 定义构建参数
        build_args = [
            '--onefile',
            '--windowed',
            '--name=FileSizeLooker',
            '--hidden-import=file_size_scanner',
            f'--add-data={os.path.abspath("config.ini")};.',
            'gui.py'
        ]

        # 添加清理参数
        build_args.insert(0, '--clean')

        # 执行打包命令
        pyi_main.run([
            '--noconfirm',  # 自动确认覆盖
            *build_args
        ])

    except SystemExit as e:
        if e.code != 0:
            print(f'打包失败: {e}')
    except Exception as e:
        print(f'发生未预期的错误: {str(e)}')
    finally:
        input("按回车键退出...")